基本設定
基本認証設定を表示または変更する場合、設定 メニューの 認証 をクリックします。
ロールとアクセス権限:
認証 メニュー項目を表示するには、「テナント管理」権限タイプの管理者権限を持っているか、テナントに作成された最初の管理者ユーザーである必要があります。
ユーザーアクセス管理を容易にするために、上記の権限は、すべての新しいテナントでデフォルトで作成されるグローバルロールに含まれています。
- テナントマネージャー:アプリケーション、テナントオプション、保持ルールなどのテナント全体の構成を管理します。
ログイン設定
優先するログインモード フィールドでは、次のオプションのいずれかを選択できます。
- OAI-Secure - 認証トークンを使用してユーザーの身元を証明することで、高度なセキュリティが提供されるため、こちらをお勧めします。
新しいテナントを作成する際のデフォルトのログインモード。このモードは、以前の OAuth Internal(10.13.0 より前に使用可能)を拡張したものです。 - Basic Auth - 基本的なセキュリティのみ提供するため、特定の互換性の理由でのみ選択する必要があります。
- シングルサインオン リダイレクト - SSO が構成されている場合にのみ選択できます。選択すると、Basic Auth と OAI-Secure のログインオプションが削除されます。
これらのログインモードは、ユーザーを認証するデフォルトの方法としてプラットフォームのアプリケーションによって使用されます。デバイス認証は変更されません。
パスワードの有効期限 では、ユーザーがパスワードを変更しなければならなくなるまでの日数を指定して、ユーザーパスワードの有効期限を制限できます。ユーザーにパスワードの変更を強制したくない場合は、「0」を使用して、パスワードの有効期限を無制限(デフォルト値)にします。
デフォルトでは、ユーザーは 8 文字以上の任意のパスワードを使用できます。強力なパスワードを強制(緑) を選択している場合、ユーザーは強度のあるパスワードを設定する必要があります。 パスワードを変更する方法 を参照してください。
ログインの際に大文字と小文字の区別を無視 トグルを使用すると、ユーザーログインを認証するときに、ユーザー名またはエイリアスの大文字と小文字の区別を有効または無効にできます。有効にすると、この機能はすべてのテナントユーザーに適用されます。デフォルトでは、この機能は無効になっています。
Basic Auth 制限
ユーザーに対して OAI-Secure 認証が構成されている場合でも、プラットフォームを使用するデバイスとマイクロサービスに対しては引き続き Basic Auth(基本認証)を使用できます。より高いセキュリティレベルを提供するために、Basic Auth を制限することができます。
Web ブラウザーに対して禁止 トグルを使用して、Web ブラウザでの基本認証の使用を禁止します。さらに、次のパラメータを指定できます。
- 信頼できるユーザーエージェント - このリストはデフォルトでは空です。何らかの追加されたユーザーエージェントがある場合、このエントリを
User-Agent
ヘッダーに含み、有効な基本認証の日付を持つすべての HTTP リクエストが受け入れられます。 - 禁止されているユーザーエージェント - このリストはデフォルトでは空です。何らかの追加されたユーザーエージェントがある場合、このエントリを
User-Agent
ヘッダーに含み、基本認証を使用するすべての HTTP リクエストが拒否されます。
OAI-Secure セッション構成
OAI-Secure は、ユーザー名とパスワードによるログインもサポートする Basic Auth モードより安全な代替手段です。OAI-Secure モードでは、最初のリクエストの資格情報が、Web ブラウザで Cookie として設定されるか、レスポンス本文で返される JWT トークンと交換されます。構成に基づいて、OAI-Secure は完全なセッション管理をサポートするか、ユーザーセッションの有効期間がトークンの有効期限によって制限される標準の JWT 認証として機能します。
セッション管理に関連する構成なしの OAI-Secure(セッション構成オフ)
セッションに関連する設定がない場合、OAI-Secure は特定の有効期間を持つ JWT トークンを発行します。トークンの有効期限が切れると、トークンの更新がサポートされていないため、ユーザーは強制的に再ログインされます。トークンの有効期間が短い場合、ユーザーは頻繁に再ログインする必要があるため、この動作はユーザーにとって非常に不便です。
セッション管理の構成を使用した OAI-Secure(セッション構成オン)
セッション構成で OAI-Secure を使用すると、より便利で安全になり、HTTP セッションに基づく認証と同様の動作を実現するために使用できます。
OAI-Secure トークンは、クライアントサイド(Web ブラウザ)でセッション ID として機能します。 Cookie に格納されるこのようなトークンID は、事前設定された短い有効期間を持つことができます。次に、Things Cloud プラットフォームは、ユーザーの操作なしでセッションIDを更新する責任があります。ユーザーのアクションによって、Web ブラウザが Things Cloud にリクエストを送信するだけで十分です。次に、Things Cloudは、セッションIDの更新を実行する必要があるかどうかを調べ、必要に応じて操作を実行します。Things Cloudは、テナント管理者がニーズに合わせて構成を調整できるように、この動作に関連する広範な構成を提供します。
セッション構成を使用 オプションが有効になっている場合、テナント管理者は次の設定をテナントレベルで構成できます。
フィールド | 説明 | デフォルト |
---|---|---|
ユーザーエージェントの検証が必要 | オンにすると、1つのセッションの範囲内で連続するリクエストのヘッダーで送信されたユーザーエージェントが比較され、ユーザーエージェントが変更されたリクエストは承認されません。 | false |
セッションの絶対的タイムアウト | ユーザーが再認証なしで Things Cloud を使用できる最大期間を定義します。 | 14 日 |
セッション更新のタイムアウト | 絶対的なタイムアウトよりもはるかに短いことが予想されます。Things Cloud が新しいトークン(セッションID)の提供を試みるまでの時間を定義します。更新は、Things Cloudが期限切れでないトークンを持つクライアントからHTTPリクエストを受信した場合、トークンを取得してからリクエストを実行するまでの時間が更新タイムアウトよりも長い場合にのみ行われます。 | 1 日 |
ユーザーごとの最大並行セッション数 | 各ユーザーが開始できるセッションの最大数を定義します(例えば、さまざまなマシンまたはブラウザ)。ユーザーがこの制限を超えた場合、最も古いセッションが終了し、ユーザーはこの特定デバイスからログアウトされます。 | 5 セッション |
トークンの有効期限 | トークンが有効な時間を定義します。ユーザーは、有効なトークンを使用して Things Cloud にアクセスできます。この構成オプションは常に利用可能で、セッション構成には依存しません。以下の OAI-Secureによるトークン生成 を参照してください。 | 2 日 |
時間パラメータは次のように相互に依存する必要があります : 更新タイムアウト < トークンの有効期限 < 絶対的タイムアウト
さらに、更新タイムアウトは、トークンの有効期限の約半分にする必要があります。
したがって、OAI-Secureの標準的な使用例の推奨設定は次の通りです。
- セッションの絶対的タイムアウト: 28,800 秒(8 時間)
- セッション更新のタイムアウト: 2,700 秒(45 分)
- トークンの有効期限: 5,400 秒(90 分)
このような構成では、セッションの最後のアクティビティがいつ実行されたかに応じて、アイドル タイムアウトは 45 ~ 90 分の範囲になります。
セッショントークンの更新中に、以前のトークンは取り消され、新しいトークンが提供されます。パラメータ renewal token delay
は、このプロセスを円滑にし、ユーザーの邪魔にならないようにするために使用される遅延を定義します。古いトークンは、この期間(デフォルトは 1 分)は引き続き有効です。このようにして、新旧両方のトークンがThings Cloud によって受け入れられます。このパラメータは、プラットフォームレベルでのみ構成可能であり、テナント管理者は変更できません。
OAI-Secure によるトークン生成
OAI-Secureは、主にブラウザの Cookie に保存された JWT に基づいています。また、レスポンス本文で JWT を生成するためにも使用できます。トークンと Cookie の有効期限は、カテゴリ oauth.internal
に属するテナントオプションによって構成できます。
Cookie に保存されている JWT の有効期限の構成
ブラウザの Cookie に保存されている JWT トークンのデフォルトの有効期限は 2 週間です。これは、テナントオプションで変更できます。
- カテゴリ:
oauth.internal
; - キー:
basic-token.lifespan.seconds
;
最小許容値は 5 分です。
Cookie の有効期限の設定
JWT トークンをブラウザに保存するために使用される Cookie には、テナントオプションで変更できる独自の有効期限があります。
- カテゴリ:
oauth.internal
; - キー:
basic-user.cookie.lifespan.seconds
;
デフォルト値は2週間です。ユーザーがブラウザを閉じたときにCookieを削除するには、負の値を設定します。
レスポンス本文の JWT の有効期限の設定
レスポンス本文で生成されるJWTトークンの有効期限は、次のテナントオプションで構成されます。
- カテゴリ:
oauth.internal
; - キー:
body-token.lifespan.seconds
;
詳細については、Things Cloud OpenAPI仕様 の Tenant API を参照してください。
TFA 設定
テナントに TFA を許可する場合は、二要素認証 を 有効化 にします(管理者のみ可能)。
次のいずれかのオプションを選択できます。
-
SMSベースは、次の設定に対応しています。
- トークンの有効期限: 各セッションの有効期限(分単位)。セッションの有効期限が切れるか、ユーザーがログアウトした場合、ユーザーは新しい確認コードを入力する必要があります。
- 確認コードの有効期限: SMS で送信される各確認コードの有効期限を設定できます。確認コードが期限切れになると、ユーザーはログインするために新しい確認コードをリクエストする必要があります。
テナントには、SMS ゲートウェイのマイクロサービスが設定されている必要があります。もちろん、有効な電話番号が関連付けられたユーザーのみがこの機能を利用できます。 -
TOTP(時間ベースのワンタイムパスワード)は次の設定に対応しています。
- すべてのユーザーに二要素認証を強制する : 有効にすると、ログイン時にすべてのユーザーにTFAの設定を強制します。有効にしない場合は、個々のユーザーが有効にするかどうかを選択できます。
TOTP方式は、ログインモード「OAI-Secure」でのみ利用可能です。
保存 をクリックして設定を適用します。
- TFA方式を変更するたびに、強制的にログアウトされます。ユーザーのTFA設定が消去され、再度設定する必要があります。
- 「デバイスユーザー」ロールを持つユーザーは、TFA と TOTP から除外されます。これは、TOTPがすべてのユーザーに強制されている場合にも当てはまります。